package com.enlorenz.support.bank.iso8583;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import com.solab.iso8583.IsoType;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Inherited
/***
 * iso属性
 * @author lcb
 */
public @interface IsoProperty {
	/**
	 * 域序号
	 * @return 域序号
	 */
	public int index();
	
	/**
	 * 域类型
	 * @return 域类型
	 */
	public IsoType isoType();
	
	/**
	 * 域长度
	 * @return 域长度
	 */
	public int length();
	
	/**
	 * 是否是请求报文
	 * @return 是否是请求报文
	 */
	public IsoVisible visible() default IsoVisible.RR;
	
	/**
	 * iso类型
	 * @return
	 */
	public IsoCategory category() ;
	//default IsoCategory.NONE
}
